home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / 0189.ZIP / LOAN4.INC < prev    next >
Text File  |  1986-02-08  |  2KB  |  71 lines

  1.  
  2.   procedure Display_Help;
  3.     var   help_msg  : Str_80;
  4.           action    : Char;
  5.  
  6.     procedure Select_Subject;
  7.       begin
  8.         Clear_Prompts;
  9.         help_msg := 'Accept  |  Modify  |  Print  | '
  10.                    + QUIT_KEY + 'Exit';
  11.         Display_Prompt(CMD_LINE,'HLP',help_msg);
  12.         Display_Prompt(MSG_LINE,'INP'
  13.                        ,'Press a HLP: key to select subject ==> ');
  14.         action := Valid_Key([ACCEPT,MODIFY,PRINT,QUIT]);
  15.       end; { Select_Subject }
  16.  
  17.     begin { Display_Help }
  18.       Select_Subject;
  19.       case action of
  20.         ACCEPT  : Disp_Help(19,27);
  21.         MODIFY  : Disp_Help(1,18);
  22.         PRINT   : Disp_Help(28,36);
  23.         QUIT    : esc_flag := FALSE;
  24.       end {case}
  25.     end; { Display_Help }
  26.  
  27.   procedure Exit_Housekeeping;
  28.     var size : Integer;
  29.  
  30.     procedure Display_Exit_Warning;
  31.       var   action   : Char;
  32.  
  33.       begin
  34.         Clear_Prompts;
  35.         Display_Prompt(CMD_LINE,'CMD',
  36.                       '<Y> Abandon Changes | <N> Return to Input Screen');
  37.         Display_Prompt(MSG_LINE,'INP',
  38.                       'Do you want to abandon modifications? ( Y/N ) ==> ');
  39.         action := Valid_Key(['Y','N']);
  40.         if (action = 'Y') then
  41.           esc_flag := TRUE
  42.         else
  43.           esc_flag := FALSE;
  44.       end; { Display_Exit_Warning }
  45.  
  46.     begin { Exit_Housekeeping }
  47.       io_status := ZERO;
  48.       if modified then
  49.         Display_Exit_Warning
  50.       else
  51.         esc_flag := TRUE;
  52.       if esc_flag then
  53.         begin
  54. {$I+}
  55.           size := FileSize(loan_file);      { Get size of file. }
  56.           io_status := IOresult;
  57.           if (io_status = ZERO) then
  58.             begin
  59.               Close(loan_file);             { Close the file. }
  60.               io_status := IOresult;
  61.               if (io_status = ZERO) then
  62.                 if (size = ZERO) then       { If it was empty then }
  63.                   Erase(loan_file);         { delete it from the disk }
  64.             end;
  65.         end;
  66. {$I+}
  67.       if (io_status <> ZERO) then
  68.         Disp_IO_Error(file_name);
  69.     end; { Exit_Housekeeping }
  70.  
  71.